package vip.xiaonuo.core.pojo.login;


import cn.hutool.core.lang.Dict;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.List;

/**
 * <p>Title : 登录用户模型</p>
 * <p>Description : 多张用户表登录业务 token 获取用户信息分发</p>
 * <p>DevelopTools : IDEA</p>
 * <p>DevelopSystem : Windows11</p>
 *
 * @Author : zxw
 * @Date 2023/9/20 17:49
 */
public interface BaseUserDetailService extends UserDetails {


    /**
     * 获取用户id
     */
    Long getId();

    /**
     * 获取登录账号
     */
    String getAccount();

    /**
     * 用户性别
     */
    Integer getSex();

    /**
     * 腾讯Code
     */
    String getTxCode();


    /**
     * 获取权限
     *
     * @return
     */
    List<String> getPermissions();

    /**
     * 是否超级管理员
     *
     * @return
     */
    Integer getAdminType();

    /**
     * 登录用户员工信息
     *
     * @return
     */
    LoginEmpInfo getLoginEmpInfo();

    /**
     * 数据范围信息
     *
     * @return
     */
    List<Long> getDataScopes();

    /**
     * 角色信息
     *
     * @return
     */
    List<Dict> getRoles();


}
